2021召回技术在内容推荐的实践总结
本文从跨域联合召会、语义&图谱&多模态、用户多兴趣表征和未来工作四个模块展开。
强时效性:内容推荐场景下的内容新旧汰换非常快,新内容的用户行为少,很难用用户历史行为去描述新内容,而用户行为正是老内容投放主要的依赖。所以当不能依靠用户行为数据来建模内容之间关系的时候,我们必须要找到其他可以表征内容的方法。
多兴趣表征:多兴趣表征,特别是多峰召回是这几年比较主流的一个趋势。但是目前多峰模型中峰的数量是固定的,当用户行为高度集中的时候,强制的将用户行为拆分成多向量,又会影响单个向量的表达能力。如何去平衡不同用户行为特点,特别是收敛和发散的兴趣分布,就成了此类任务的挑战。
跨域联合召回:除了单纯把多域的信息平等输入到模型中,如何更好利用跨域之间的信息交互就变的尤为重要。目前有很多优秀的工作在讨论这样的问题,比如通过用户语义,通过差异学习和辅助loss等。我们提出了基于异构序列融合的多兴趣深度召回模型CMDM(a cross-domain multi-interest deep matching network),以及双序列融合网络Contextual Gate DAN 2种模型结构来解决这个问题。
语义&图谱&多模态:解决时效性,最主要的问题就是怎么去建模新内容,最自然的就是content-based的思想。content-based的关键是真正理解内容本身,而content-based里主要的输入信息就是语义,图像,视频等多模态信息。目前有许多工作在讨论这样的问题,比如通过认知的方式来解决,多模态表征学习,结合bert和高阶张量等方式等等。在语义召回上,我们不仅仅满足于语义信息的融入,还通过Auxiliary Sequence Mask Learning去对行为序列进行高阶语义层面的提纯。更进一步,我们利用内容图谱信息来推荐,并且引入了个性化动态图谱的概念。对于新老内容上表达能力的差异问题,我们通过multi-view learning的思想去将id特征和多模态特征做融合。
泛多峰:为了解决多峰强制将兴趣拆分的问题,我们考虑到单峰和多峰的各自特点,特别是在泛化和多样性上各自有不同的建模能力。基于此,我们提出了泛多峰的概念。
在单一推荐场景下,深度召回模型只需要考虑用户在当前场景下的消费行为,通过序列建模技术提取用户兴趣进而与目标商品或内容进行匹配建模。而在本推荐场景下,深度召回模型需要同时考虑用户内容消费行为和商品消费行为,进行跨场景建模。为此,我们提出了CMDM多兴趣召回模型架构,能够对用户的跨场景异构行为序列进行融合建模。在CMDM中,我们设计了用于异构序列建模的层级注意力模块,通过层级注意力模块提取的多个用户兴趣向量与目标内容向量进行匹配建模。
▐ 双序列融合网络Contextual Gate DAN
除了通过层次注意力的方式,异构序列中还有个特点就是在时间上更接近交叉并存的状态。为了学习到两个序列之间的信息交叉,充分融合商品点击序列和内容点击序列,我们从自然语言处理的VQA任务中得到启发。VQA是用自然语言回答给定图像的问题的任务,常用做法是在图片上应用视觉注意力,在文本上应用文本注意力,再分别将图片、文字多模态向量输入到一个联合的学习空间,通过融合映射到共享语义空间。而DAN结构是VQA任务中一个十分有效的模型结构,DAN通过设计模块化网络,允许视觉和文本注意力在协作期间相互引导并共享语义信息。我们对DAN结构进行了改进,设计了Contextual Gate DAN 双序列融合网络:
在内容推荐场景内,存在大量新内容需要冷启动,我们主要通过语义和多模态2种方式。相对于搜索任务,语义匹配是一个从单点到多点,解空间更大更广的问题。首先是用户行为的不确定性,内容推荐场景下用户决策空间更大更广,从而导致用户对推荐系统的反馈信号本身就存在较大的不确定性;再就是语义空间表达的对齐问题,这里的对齐包含两个方面,第一个方面是单个序列里的内容表达的语义标签提取方式差别大(比如cpv、分词、语义标签、多模态表征等等),另外一个方面是多序列(内容和商品等)之间的语义空间对齐问题。多模态的召回方式融合了文本,图像,音频等大量模式跨域信息,由于与内容互动解耦,在缓解内容冷启动上具有一定的优势。多模态召回主要是通过理解内容多模态表征,先后进行了collaborative filtering、聚类中心召回、个性化多模态表征相关的探索工作,在多样性方面取得了一定的效果,深度语义召回方面针对用户行为去噪和更好的表达语义信息角度出发,迭代了cate-aware和query-aware和序列mask 自监督任务的模型。
▐ 行为稀疏场景下的图模型实践
更进一步,我们利用内容图谱信息来推荐。知识图谱构建的出发点就是对用户的深度认知,能够帮助系统以用户需求出发构建概念,从而可以帮助理解用户行为背后的语义和逻辑。这样可以将用户的每次点击行为,都用图谱的形式极大的丰富,图谱带来的可解释的能力还可以大大加快模型的收敛速度。知识图谱有个特点,就是其中的信息是相对固定的,或者说是静态的,因为知识图谱基本是由先验信息构成的。但是从各个用户的角度,知识图谱的数据中的链接重要度并不相同。比如一个电影,有的用户是因为主演看的,有的用户是因为导演看的,那么这个电影连接的主演边和导演边的权重就因人而异了。我们提出了一种新的方法来融合用户动态信息和静态图谱数据。每个行为都用图谱扩展,这样行为序列变成行为图谱序列, 并且加入KnowledgeGraph-guided gating的自适应的生成式门控图注意力,去影响知识图谱融入到模型中的点边的权重。
▐ 融合多模态信息的跨模态召回
针对新内容冷启动的问题,我们提出了跨模态召回模型来兼顾content-based和behaviour-based的召回各自的优点。在跨模态召回模型构建前,我们首先引入了多模态meta信息为主的“语义” deep collaborative filtering召回,两者的显著差别主要在target side的特征组成中相较与behaviour-based的特征,多模态特征构建的模型去除了影响较大的内容id类的特征,将这些特征更换为了来自多模态预训练技术得到的多模态表征输入。除了上面的变化,我们还加入了triplet loss的部分使得embedding空间更具有区分度,效率指标也有了较大幅度的提升。
多峰召回模型通过对用户侧产生多个表征不同“兴趣”的向量进行多个向量的召回,是对于单峰的一个拓展,将单个用户的表达扩展成了多个兴趣表达, 更精确地刻画了用户, 从而取得更好的效果。我们通过对于单峰模型及多峰模型的观察发现,用户行为高度集中的序列单峰模型的线上效率相对于多峰模型会更有优势,而那些用户序列类目丰富度较高的则多峰模型的效率明显占优。所以这里提出了泛多峰u2i模型的概念,尝试将多峰模型容易拟合行为序列类目丰富度较高的用户,而单峰模型则更容易拟合行为序列类目丰富度较为集中的用户的优势进行结合。使得单一模型能够通过产生不同算法簇的多个不同表征的向量在不同簇的内容向量中进行召回,从而具备这两种召回范式的优点。
在未来的工作中,我们希望从下面方向进一步提升优化:
▐ 认知推荐
我们正在尝试,将图谱用于user embedding投影,投影的平面空间就是语义空间,这样做到可控多维度语义可解释embedding。另外,对于召回,采样方式对模型效果影响非常大,结合知识图谱来进行graph-based Learning to sample的优化,对于正负样本的选取更加做到关联可控,加快迭代速度,提升效果。
▐ 兴趣破圈
在内容化推荐领域,仅仅相似度提高的优化,会导致用户没有新鲜感,对平台粘性变低。如何帮助用户探索他更多的兴趣,是现在内容化推荐亟待解决的另一个问题。一种做法是兴趣近邻,从已有兴趣出发,慢慢通过兴趣之间的相似,扩展用户未知的领域,可以参考MIND,CLR一些思路。另一种做法是对兴趣构建推理引擎,在对已有兴趣推理过程建模之后,加入扰动来探索用户可能新的兴趣。
后续我们将有一系列的文章,对每一个内容做详细的展开,敬请期待:
CMDM:基于异构序列融合的多兴趣深度召回模型在手淘逛逛的探索和实践
淘宝逛逛多模态语义召回的若干实践
基于多模型簇联合学习的多任务召回框架
多序列融合召回在逛逛新用户冷启动上的应用
融合多模态信息的跨模态召回
行为稀疏场景下的图模型实践
我们来自淘宝逛逛算法团队,逛逛是淘宝重要的内容化场景,团队优势有:
业务空间大、基础设施完善:场景海量反馈,在工程团队的支持下,算法工程师可以轻松上线大规模模型,分钟级更新,更加注重算法本身。
团队氛围好、研究与落地深度结合:团队不仅仅解决业务算法问题,还会紧跟学术领域进展。也欢迎有实习想法的同学加入,由资深师兄根据同学优势与兴趣定义好业务问题,辅导研究,给每位同学都有充分的成长空间。
人才需求:有机器学习、深度学习有一定理解,对内容分发和内容理解感兴趣,可以发邮件到邮箱mingyi.ff#alibaba-inc.com或者jinxin.hjx#alibaba-inc.com(发送邮件时,请把#替换成@)